// 定义首页模块的ts数据类型
export interface ResponseData {
  code: number,
  message: string,
  ok: boolean
}

// 代表已有的医院数据ts数据类型
export interface Hospital {
  id: string,
  createTime: string,
  updateTime: string,
  isDeleted: number,
  param: {
    hostypeString: string,
    fullAddress: string
  },
  hoscode: string,
  hosname: string,
  hostype: string,
  provinceCode: string,
  cityCode: string,
  districtCode: string,
  address: string,
  logoData: string,
  intro: string,
  route: string,
  status: number,
  bookingRule: {
    cycle: number,
    quitDay: number,
    quitTime: string,
    releaseTime: string,
    rule: string[],
    stopTime: string
  }
}

// 存储全部已有医院的数据类型
export type Content = Hospital[]

// 获取医院医院接口返回的数据ts类型
export interface HospitalResponseData extends ResponseData {
  data: {
    content: Content,
    pageable: {
      sort: boolean,
      unsorted: boolean,
      empty: boolean
    },
    pageNumber: number,
    pageSize: number,
    offset: number,
    paged: boolean,
    unpaged: boolean,
    totalPages: number,
    totalElements: number,
    last: boolean,
    first: boolean,
    sort: {
      sorted: boolean,
      unsorted: boolean,
      empty: boolean
    },
    numberOfElements: number,
    size: number,
    number: number,
    empty: boolean
  }
}

// 代表的是医院的等级或者地区数据ts类型
export interface HospitalLevelAndRegion {
  "id": number,
  "createTime": string,
  "updateTime": string,
  "isDeleted": number,
  "param": object,
  "parentId": number,
  "name": string,
  "value": string,
  "dictCode": string,
  "hasChildren": boolean
}

export type HospitalLevelAndRegionArr = HospitalLevelAndRegion[];

// 获取等级或医院地区接口返回的数据类型
export interface HospitalLevelAndRegionResponseData extends ResponseData {
  data: HospitalLevelAndRegionArr
}

export interface HospitalInfo extends ResponseData {
  data: Content
}